package com.shop.task;

import com.shop.service.OrdersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class OrderJob {

    @Autowired
    private OrdersService ordersService;

    /**
     * 使用定时任务关单会存在的问题，
     *   不能准确关单
     *   不支持集群
     *   会对数据库全表搜索对数据库照成压力
     *
     * 解决方案：
     *   使用消息队列进行解决，延时队列解决
     *
     */
    @Scheduled(fixedDelay = 10000)
    public void execute(){
        // 执行定时任务关闭订单
        ordersService.closeOrder();
    }

}
